
// write to arc with arc

#define __MARKER 0x01
int WriteToArc_arc ( FILE * arc, FILE * fileToRead, fileHead * fileHd);

FILE * arc_file (fileHead * fileHd,FILE * fileToRead);

__HufTree * mkH_TInit (FILE * fileToRead);

__HufTree ** SortHuffTree (__HufTree ** H_T);

__HufTree * MakeHufTree (__HufTree ** H_T);

__HufTree ** paste (__HufTree ** H_T, __HufTree * elm);

void print (__HufTree * head, char* i,int flag);

FILE * compres (FILE * fileToWrite,FILE * fileToRead,__HufTree * HufTree);

unsigned char * makeTables (unsigned char alpha,int flag,__HufTree * head,unsigned char * i);

unsigned char * HufTreeToStr (__HufTree * head, size_t * ubits,size_t * len);

__HufTree ** makeArrHufTree (__HufTree ** arr,__HufTree * elm, int * count);

__HufTree * StrToHufTree (unsigned char * str, size_t unbits, size_t len);
int _CharInBits (unsigned char * Dest,const unsigned char * Source, const unsigned char ** tables, str_inf * inf);